home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / faq / comp / linux / howto / ethernet / part1 next >
Internet Message Format  |  1994-03-15  |  49KB

  1. Path: bloom-beacon.mit.edu!hookup!swrinde!emory!news-feed-2.peachnet.edu!concert!bigblue.oit.unc.edu!sunSITE!mdw
  2. From: Paul Gortmaker <gpg109@rsphysse.anu.edu.au>
  3. Newsgroups: comp.os.linux.announce,comp.os.linux.admin,comp.answers,news.answers
  4. Subject: Linux Ethernet HOWTO (Part 1/2)
  5. Followup-To: poster
  6. Date: 16 Mar 1994 05:27:00 GMT
  7. Organization: The University of North Carolina at Chapel Hill
  8. Lines: 1175
  9. Approved: linux-announce@tc.cornell.edu (Matt Welsh)
  10. Message-ID: <2m65b4$e13@bigblue.oit.unc.edu>
  11. NNTP-Posting-Host: calzone.oit.unc.edu
  12. Keywords: Linux, Ethernet, TCP/IP, NET-2, network
  13. Originator: mdw@sunSITE
  14. Xref: bloom-beacon.mit.edu comp.os.linux.announce:1951 comp.os.linux.admin:5612 comp.answers:4181 news.answers:16450
  15.  
  16. Archive-Name: linux/howto/ethernet/part1
  17. Last-Modified: 16 Mar 1994
  18.  
  19. Linux Ethernet HOWTO v1.0 -- Last updated Mar 16, 1994
  20. =================================================================
  21.  
  22. -- covers changes up to and including Linux kernel v1.0
  23.  
  24. INDEX:
  25.  
  26. 0    Introduction.
  27. 0.01        How do I use this Guide?
  28. 0.01        Disclaimer and Copyright
  29. 0.02        Questions already?
  30. 0.03        Related Documentation
  31. 0.04        New Versions of this Document
  32. 0.05        Feedback
  33.  
  34. 1    What card should I buy for Linux?
  35. 1.01        Eight bit vs 16 bit
  36. 1.02        Low price Ethernet cards
  37. 1.03        Vendors and brands to avoid.
  38. 1.04        Type of cable that your card should support
  39.  
  40. 2    Status of various Ethernet cards under Linux.
  41. 2.01        3Com
  42. 2.02        Western Digital / SMC
  43. 2.03        NExxxx
  44. 2.04        Hewlett Packard Cards
  45. 2.05        D-Link
  46. 2.06        Cabletron
  47. 2.07        Allied Telesis
  48. 2.08        Arcnet
  49. 2.09        Digital / DEC
  50. 2.10        Intel
  51. 2.11        PureData
  52. 2.12        Xircom
  53. 2.13        Zenith
  54. 2.14        Racal-Interlan
  55. 2.15        AMD LANCE (79C960)
  56. 2.16        AT-Lan-Tec / RealTek Pocket adaptor
  57. 2.17        Ansel
  58. 2.18        DFI
  59.  
  60. 3    Clones of popular Ethernet cards.
  61. 3.01        WD80x3 Clones
  62. 3.02        NE2000 Clones
  63.  
  64. 4    Cables, coax, twisted pairs etc.
  65. 4.01        Thin Ethernet (thinnet)
  66. 4.02        Twisted Pair
  67. 4.03        Thick Ethernet
  68.  
  69. 5    Technical information.
  70. 5.01        Probed addresses
  71. 5.02        Skeleton / prototype driver
  72. 5.03        Driver interface to the kernel
  73. 5.04        Interrupts and linux
  74. 5.05        Programmed I/O vs. shared mem. vs slave/master DMA
  75. 5.06        Programming the Intel chips (i82586 and i82593)
  76. 5.07        Programming information from 3Com
  77. 5.08        Notes on AMD PCnet-ISA / LANCE Based cards (79C960)
  78. 5.09        Multicast and Promiscuous mode
  79. 5.10        The Berkeley Packet Filter (BPF)
  80. 5.11        Unresolved questions / concerns
  81.  
  82. 6    Possible problems, questions and troubleshooting.
  83. 6.01        Problems with NE2000 (and clones)
  84. 6.02        Problems with WD80*3 cards
  85. 6.03        Problems with 3Com cards
  86.  
  87. 7    Networking with a laptop computer.
  88. 7.01        Option 1 -- using SLIP
  89. 7.02        Option 2 -- Built in NE2000 compatible or PCMCIA Ethercard.
  90. 7.03        Option 3 -- ISA Ethercard in the docking station.
  91. 7.04        Option 4 -- Pocket / parallel port adaptors.
  92.  
  93. 8    Frequently asked questions.
  94. 8.01        Just the FAQ's ma'am -- just the FAQ's.
  95.  
  96. 9    Miscellaneous.
  97. 9.01        Bad Vendors
  98. 9.02        Closing
  99.  
  100. ======================================================================
  101.  
  102. 0. Introduction.
  103.  
  104.     This is the Ethernet-HOWTO, which is a compilation of information
  105.     about which ethernet devices can be used for Linux, and how to
  106.     set them up.
  107.  
  108.     This Ethernet-HOWTO is by:
  109.         Donald J. Becker    <becker@super.org>
  110.         Paul Gortmaker        <gpg109@rsphy1.anu.edu.au>
  111.  
  112.     It covers what cards you should and shouldn't buy; how to set
  113.     them up, how to run more than one, and other common problems and
  114.     questions. It does *not* cover the software end of things, as that
  115.     is covered in the NET-2 HOWTO.
  116.  
  117.     Other people who have contributed (directly or indirectly) are,
  118.     in alphabetical order:
  119.  
  120.     Peter Bauer        <pbauer@rnivh.rni.sub.org>
  121.     Ross Biro        <bir7@leland.Stanford.EDU>
  122.     Alan Cox        <iiitac@pyr.swan.ac.uk>
  123.     David C. Davies        <davies@wanton.enet.dec.com>
  124.     Bjorn Ekwall        <bj0rn@blox.se>
  125.     Charles Hedrick        <hedrick@geneva.rutgers.edu>
  126.     Mike Jagdis        <jaggy@purplet.demon.co.uk>
  127.     Duke Kamstra        <kamstra@ccmail.west.smc.com>
  128.     Russell Nelson        <nelson@crynwr.com>
  129.     Cameron Spitzer        <camerons@NAD.3Com.com>
  130.     Dave Roberts        <david.roberts@amd.com>
  131.     Glenn Talbott        <gt@hprnd.rose.hp.com>
  132.     Miquel van Smoorenburg    <miquels@cistron.nl.mugnet.org>
  133.  
  134.     Many thanks to the above people, and all the other unmentioned
  135.     testers out there.
  136.  
  137. 0.01 How Do I Use This Guide?
  138.  
  139.     As this guide is getting bigger and bigger, you probably don't want
  140.     to spend the rest of your afternoon reading the whole thing. And you
  141.     don't *have* to read it all. If you haven't got an ethernet card, then
  142.     you will want to start with section one to see what you should buy,
  143.     and what you should avoid. If you have already got an ethernet card,
  144.     but are not sure if you can use it with Linux, then you will want to
  145.     read section two, which contains specific information on each
  146.     manufacturer, and their cards. If you are having trouble with your
  147.     card, then you will want to read the specific information about
  148.     your card in section two and the troubleshooting information in
  149.     section six. If you are interested in some of the technical aspects
  150.     of the device drivers, then you can find that information in
  151.     section 5.
  152.  
  153. 0.01 Disclaimer and Copyright
  154.  
  155.     This document is *not* gospel. However, it is probably the most
  156.     up to date info that you will be able to find. Nobody is responsible
  157.     for what happens to your hardware but yourself. If your ethercard
  158.     or any other hardware goes up in smoke (...nearly impossible!)
  159.     we take no responsibility. ie. THE AUTHORS ARE NOT RESPONSIBLE
  160.     FOR ANY DAMAGES INCURRED DUE TO ACTIONS TAKEN BASED ON THE
  161.     INFORMATION INCLUDED IN THIS DOCUMENT.
  162.  
  163.     This document is Copyright (c) 1994 by Donald Becker and
  164.     Paul Gortmaker. Permission is granted to make and distribute
  165.     verbatim copies of this manual provided the copyright notice
  166.     and this permission notice are preserved on all copies.
  167.  
  168.     Permission is granted to copy and distribute modified versions
  169.     of this document under the conditions for verbatim copying,
  170.     provided that this copyright notice is included exactly as in
  171.     the original, and that the entire resulting derived work is
  172.     distributed under the terms of a permission notice identical
  173.     to this one.
  174.  
  175.     Permission is granted to copy and distribute translations
  176.     of this document into another language, under the above
  177.     conditions for modified versions.
  178.  
  179. 0.02 Questions already?
  180.  
  181.     If you have questions about your ethernet card, please READ this
  182.     document first. You may also want to join the NET channel of the
  183.     Linux-activists mailing list by sending mail to
  184.         linux-activists-request@niksula.hut.fi
  185.     with the line
  186.         X-Mn-Admin: join NET
  187.     at the top of the message body (not the subject). If you want to
  188.     learn how to use the mailing channels, then send an empty message
  189.     to the above address, and you will get an instruction manual sent
  190.     back to you in a few hours. However, it is worth noting that the NET
  191.     channel is primarily used for discussion of the networking code, and
  192.     you may not see much discussion about a particular driver.
  193.     Furthermore keep in mind that the NET channel is for development
  194.     discussions only. General questions on how to configure your system
  195.     should be directed to comp.os.linux.help unless you are actively
  196.     involved in the development of part of the networking for Linux.
  197.     We ask that you *please* respect this general guideline for content.
  198.     You can safely bet that neither of the authors will respond to
  199.     any plea for help that *should* be posted to c.o.l.help, but is
  200.     inappropriately placed elsewhere.
  201.  
  202. 0.03 Related Documentation
  203.  
  204.     Much of this info came from saved postings from the comp.os.linux
  205.     groups, which shows that it is a valuable resource of information.
  206.     Other useful information came from a bunch of small files by Donald
  207.     himself. Some of these are found at /pub/linux/info on ftp.super.org
  208.     [192.31.192.1] Of course, if you are setting up an Ethernet card,
  209.     then you will want to read the NET-2 HOWTO so that you can actually
  210.     do something with it. ftp.super.org is the home of most alpha drivers
  211.     that are not presently in the kernel. And last but not least, the
  212.     contributions from the individuals and companies listed above are
  213.     greatly appreciated as well. Oh yeah, if you fancy yourself as
  214.     a bit of a hacker, you can always scrounge some additional info
  215.     from the driver source files as well. There is usually a paragraph
  216.     in there describing any important points.
  217.  
  218. 0.04 New versions of this document
  219.  
  220.     New versions of this document can be retrieved via anonymous
  221.     FTP from sunsite.unc.edu:/pub/Linux/docs/HOWTO/* and various
  222.     Linux ftp mirror sites. It will also be posted to the newsgroup
  223.     comp.os.linux.announce at a regular interval. Updates will be made
  224.     as new information / drivers becomes available. If this copy
  225.     that you are reading is more than 2 months old, it is either out of
  226.     date, or it means that I have been lazy and haven't updated it.
  227.  
  228. 0.05 Feedback
  229.  
  230.     Any corrections can be sent to one of us (gpg109@rsphysse.anu.edu.au
  231.     or becker@super.org) We will *attempt* to keep this up to date as
  232.     more drivers become available, and as the networking code matures.
  233.  
  234. 1 What card should I buy for Linux?
  235.  
  236.     For impatient users that just want a quick, cheap answer the
  237.     summary is: get 16 bit thinnet 8013 cards. For more detail as
  238.     to the who what where and why, read on.
  239.  
  240. 1.01 Eight bit vs 16 bit
  241.  
  242.     Unless you are a light user, or are confined to using the smaller
  243.     ISA slot, the use of the 8 bit cards like the wd8003 and the 3c503
  244.     is really not worth the cost savings. Get the 8013 or the 3c503/16
  245.     instead.
  246.  
  247. 1.02 Low price Ethernet cards
  248.  
  249.     I keep track of the current low-price vendors, just because it's
  250.     asked so often. Call AT-LAN-TEC at 301-948-7070. Ask for their
  251.     technical support person, "Vincent Bono". As with all purchases,
  252.     you should indicate you are buying this for a Linux system.
  253.     The last I checked the price for 10 NE2000s was $480, or $48 ea.!
  254.     NB: Their current NE2000 clone is a model that "traps" other
  255.     drivers that probe into their address space. AT-LAN-TEC also carries
  256.     a clone, non-EEPROM 8013 board for somewhat more, and a NE2100 clone.
  257.     Either is a better choice if the very lowest price isn't essential.
  258.     Also, SMC is offering an evaluation deal on their new Ultra cards,
  259.     and the word is that you can get one for $50. You can ask them
  260.     yourself by calling 1-800-SMC-4YOU in Canada and the USA.
  261.  
  262.     The Allied Telesis AT1500 is offered at a good price by many vendors.
  263.     Even Inmac, known for their premium markup, has this card for under
  264.     $100.
  265.  
  266. 1.03 Vendors and Brands to Avoid
  267.  
  268.     These vendors have decided *not* to release programming information
  269.     about their products, without signing a non-disclosure agreement.
  270.     More information can be found in section two and 9.01. Hence it is
  271.     strongly advised that you avoid buying products offered from
  272.     these companies.
  273.  
  274.         (1) Cabletron
  275.         (2) Xircom
  276.  
  277.     These particular cards should be avoided, as they are obsolete.
  278.     The reasons as to why they have been classified as such can be
  279.     found in section 2 of this document.
  280.  
  281.         (1) 3c501
  282.         (2) Arcnet
  283.  
  284. 1.04 Type of cable that your card should support
  285.  
  286.     Unless you have to conform to an existing network, you will want
  287.     to use thinnet or thin ethernet cable. This is the style with the
  288.     standard BNC connectors. See section 4 for other concerns with
  289.     different types of ethernet cable.
  290.  
  291.     Most ethercards also come in a "Combo" version for only $10-$20 more.
  292.     These have both twisted pair and thinnet transceiver built-in,
  293.     allowing you to change your mind later.
  294.  
  295. 2 Status of Various Ethernet Cards under Linux
  296.  
  297.     The only thing that one needs to use an ethernet card with Linux
  298.     is the appropriate driver. For this, it is essential that the
  299.     manufacturer will release the technical programming information to
  300.     the general public without you (or anyone) having to sign your life
  301.     away. A good guide for the likelihood of getting documentation
  302.     (or, if you aren't writing code, the likelihood that someone
  303.     else will write that driver you really, really need) is the
  304.     availability of the Crynwr (nee Clarkson) packet driver. Russ
  305.     Nelson (see the acknowledgements in the intro.) runs this
  306.     operation, and has been very helpful in supporting the development
  307.     of drivers for Linux.
  308.  
  309.     Given the documentation, you can write a driver for
  310.     your card and use it for Linux, at least in theory. Keep in
  311.     mind that some old hardware that was designed for XT type
  312.     machines will not function very well in a multitasking
  313.     environment such as Linux. Use of these will lead to major
  314.     problems if your network sees a reasonable amount of traffic.
  315.  
  316.     Most cards come with drivers for MS-DOS interfaces such as
  317.     NDIS and ODI, but these are useless for Linux. Many people
  318.     have suggested directly linking them in or automatic
  319.     translation, but this is nearly impossible. The MS-DOS
  320.     drivers expect to be in 16 bit mode and hook into "software
  321.     interrupts", both incompatible with the Linux kernel. This
  322.     incompatibility is actually a feature, as some Linux drivers
  323.     are considerably better than their MS-DOS counterparts. The
  324.     "8390" series drivers, for instance, use ping-pong transmit
  325.     buffers, which are only now being introduced in the MS-DOS world.
  326.  
  327.     Keep in mind that PC ethercards have the widest variety of
  328.     interfaces (shared memory, programmed I/O, bus-master, or slave
  329.     DMA) of any computer hardware for anything, and supporting a
  330.     new ethercard sometimes requires re-thinking most of the lower-level
  331.     networking code. (If you are interested in learning more about
  332.     these different forms of interfaces, see section 5)
  333.  
  334.     Also, similar product numbers don't always indicate similar products.
  335.     For instance, the 3c50* product line from 3Com varies wildly
  336.     between different members.
  337.  
  338.     Enough talk. Let's get down to the information you want.
  339.  
  340. 2.01 3Com
  341.  
  342.     Supported:
  343.  
  344.         3c503, 3c503/16
  345.             3Com shared-memory ethercards. They also have a
  346.             programmed I/O mode that doesn't use the 8390
  347.             facilities (their engineers found too many bugs!)
  348.             It should be about the same speed as the same bus
  349.             width WD80x3, but I don't have a 16 bit version
  350.             to benchmark. Unless you are a light user, spend
  351.             the extra money and get the 16 bit model, as the
  352.             price difference isn't significant. The 3c503 does not
  353.             have "EEPROM setup", so the diagnostic/setup program
  354.             isn't needed before running the card with Linux. The
  355.             shared memory address of the 3c503 is set using jumpers
  356.             that are shared with the boot PROM address. This is
  357.             confusing to people familiar with other ISA cards,
  358.             where you always leave the jumper set to "disable"
  359.             unless you have a boot PROM.
  360.  
  361.             The Linux 3c503 driver can also work with the 3c503
  362.             programmed-I/O mode, but this is slower and less
  363.             reliable than shared memory mode. Also, programmed-I/O
  364.             mode is not tested when updating the drivers, the
  365.             deadman (deadcard?) check code may falsely timeout on
  366.             some machines, and the probe for a 3c503 in
  367.             programmed-I/O mode is turned off by default in some
  368.             versions of the kernel. This was a panic reaction to
  369.             the general device driver probe explosion; the 3c503
  370.             shared memory probe is a safe read from memory, rather
  371.             than an extensive scan through I/O space. As of pl13,
  372.             the kernel has an I/O port registrar that makes I/O
  373.             space probes safer, (see section 5.1 for more info.)
  374.             and the programmed-I/O 3c503 probe has been re-enabled.
  375.             You still shouldn't use the programmed-I/O mode though,
  376.             unless you need it for MS-DOS compatibility.
  377.  
  378.             The 3c503's IRQ line is set in software, with no hints
  379.             from an EEPROM. Unlike the MS-DOS drivers, the
  380.             Linux driver has capability to autoIRQ: it uses the
  381.             first available IRQ line in {5,2/9,3,4}, selected each
  382.             time the card is 'ifconfig'ed. (Older driver versions
  383.             selected the IRQ at boot time.) The ioctl() call
  384.             in 'ifconfig' will return EAGAIN if no IRQ line is
  385.             available at that time.
  386.  
  387.         3c509
  388.             A fairly new card from 3Com. It's inexpensive and has
  389.             excellent performance for a non-bus-master design. The
  390.             drawbacks are that it _requires_ very low interrupt
  391.             latency, and it isn't rated for bus speeds greater than
  392.             8Mhz.
  393.  
  394.             A working 3c509 driver was first included as an
  395.             alpha-test version in the 0.99pl13 kernel sources.
  396.             It is now in the standard kernel.
  397.  
  398.             The 3c509 has a tiny Rx buffer, causing the driver to
  399.             occasionally drop a packet if interrupts are masked for
  400.             too long. To minimize this problem, the driver should
  401.             be completely rewritten to use predictive interrupts.
  402.             (Note: performance re-writes of working drivers are low
  403.             priority unless there is some particular incentive or
  404.             need.)
  405.  
  406.             There is also an alpha version of a Linux 3c509
  407.             diagnostic and EEPROM setup program, but for now
  408.             users that don't like the defaults should use the
  409.             MS-DOS EEPROM setup program.
  410.  
  411.         3c579
  412.             The EISA version of the 509. The current EISA version
  413.             uses the same 16 bit wide chip rather than a 32 bit
  414.             interface, so the performance increase isn't stunning.
  415.             The EISA probe code was added to 3c509.c for pl14.
  416.             We would be interested in hearing progress reports
  417.             from any 3c579 users. (Read the above 3c509
  418.             section for info on the driver.)
  419.  
  420.             Cameron Spitzer writes:
  421.             "The 3C579 (Etherlink III EISA) should be configured
  422.             as an EISA card. The IO Base Address (window 0
  423.             register 6 bits 4:0) should be 1f, which selects EISA
  424.             addressing mode. Logic outside the ASIC decodes the
  425.             IO address s000, where s is the slot number. I don't
  426.             think it was documented real well. Except for its IO
  427.             Base Address, the '579 should behave EXACTLY like the
  428.             '509 (EL3 ISA), and if it doesn't, I want to hear
  429.             about it (at my work address).
  430.  
  431.             I will leave it to the Real Programmers to suggest
  432.             the right hack to /usr/src/linux/net/inet/3c509.c to
  433.             take care of the EISA case.
  434.  
  435.             (Note that the drivers now reside in ./drivers/net/
  436.              and *not* ./inet/net/ --- pg.)
  437.  
  438.             Beware that if you put a '509 in EISA addressing mode
  439.             by mistake and save that in the EEPROM, you'll have
  440.             to use an EISA machine or the infamous Test Via to
  441.             get it back to normal, and it will conflict at IO
  442.             location 0 which may hang your ISA machine. It's not
  443.             my job to say whether this is a bug or feature, but I
  444.             have heard loud and clear that customers don't like
  445.             it and I don't think we'll do it that way again."
  446.  
  447.     Unsupported:
  448.  
  449.         3c501
  450.             Too brain-damaged to use. Available surplus from many
  451.             places. Avoid it like the plague. Again, do not
  452.             purchase this card, even as a joke. It's performance
  453.             is horrible, and it breaks in many ways.
  454.  
  455.             (I have a standing offer: I'll pay $2 for each 3c501
  456.             shipped to me postpaid, but only if you include the
  457.             BNC 'T' connector and the jumpers. $2.50 if you just
  458.             send the 'T', jumpers, and address PROM and promise to
  459.             destroy the board. -djb)
  460.  
  461.             Cameron L. Spitzer of 3Com said:
  462.             "I'm speaking only for myself here, of course, but I
  463.             believe 3Com advises against installing a 3C501 in a
  464.             new system, mostly for the same reasons Donald has
  465.             discussed. You probably won't be happy with the
  466.             3C501 in your Linux box. The data sheet is marked
  467.             "(obsolete)" on 3Com's Developers' Order Form, and
  468.             the board is not part of 3Com's program for sending
  469.             free Technical Reference Manuals to people who need
  470.             them. The decade-old things are nearly
  471.             indestructible, but that's about all they've got
  472.             going for them any more."
  473.  
  474.             For those not yet convinced, the 3c501 can only do one
  475.             thing at a time -- while you are removing one packet
  476.             from the single-packet buffer it cannot receive
  477.             another packet, nor can it receive a packet while are
  478.             loading a transmit packet. This was fine for a
  479.             network between two 8088-based computers where
  480.             processing each packet and replying took 10's of
  481.             msecs, but modern networks send back-to-back
  482.             packets for almost every transaction.
  483.  
  484.             Having read this far, you must be persistent, so you
  485.             get let in on a secret. As of pl13, some more of
  486.             the hardware problems were "compensated for".
  487.  
  488.             Ie. in a fit of madness I wasted a whole day updating
  489.             my 3c501 driver and then trying to track down a few
  490.             more of the 3c501 glitches. It now works well enough
  491.             to NFS mount filesystems, but the receiver still
  492.             occasionally hangs. I'm mostly certain that this is
  493.             a hardware bug. When it hangs, the next set of
  494.             outgoing packets will reset the board, but that's
  495.             only useful if you have something occasionally
  496.             generating outgoing packets.
  497.  
  498.             The driver is now in the std. kernel, but under the
  499.             following conditions: This is unsupported code. I
  500.             know my usual copyright says all the code is
  501.             unsupported, but this is _really_ unsupported. I
  502.             DON'T want to see bug reports, and I'll accept bug
  503.             fixes only if I'm in a good mood that day.
  504.  
  505.             I don't want to see a fest of "Linux ethercards for
  506.             sale" postings. A bunch of people have bought dozens
  507.             of "dumpster special" 3c501s, and they hope to sell
  508.             them at rip-off prices. A 3c501 is barely worth the
  509.             shipping cost, and if I see people trying to sell
  510.             them here by claiming "supported by Linux" I _will_
  511.             flame them. They are _not_ supported by Linux.
  512.  
  513.             I don't want to be flamed later for putting out bad
  514.             software. I don't know all all of the 3c501 bugs,
  515.             and I know this driver only handles a few that I've
  516.             been able to figure out. It has taken a long
  517.             intense effort just to get the driver working this
  518.             well.
  519.  
  520.             That said, you will find it included in "config.in"
  521.             No special mods are needed to use it with pl15
  522.             or greater kernels. Jumper your card to 0x280.
  523.  
  524.             AutoIRQ works, DMA isn't used, the autoprobe only
  525.             looks at 0x280, the debug level is set with the third
  526.             boot-time argument. You'll probably want to change
  527.             the default EL_DEBUG to '2'.
  528.  
  529.             Once again, THE USE OF A 3c501 IS STRONGLY DISCOURAGED
  530.             and it is NOT SUPPORTED BY LINUX.
  531.  
  532.  
  533.         3c505
  534.             An Intel-based ethercard with no driver available
  535.             at present. (Not a very common card.)
  536.  
  537.         3c507
  538.             This card uses one of the Intel chips, and the
  539.             development of the driver is closely related to
  540.             the development of the Intel Ether Express driver.
  541.             The driver has been included in the standard
  542.             release of pl15. You will have to un-comment
  543.             the 3c507 line in "config.in" -- in case you
  544.             didn't figure it out already, it is commented
  545.             out because it is still being tested.
  546.  
  547.             Technical information is available in section 5.06,
  548.             and if you have experience in writing drivers, see
  549.             section 5.07 as well.
  550.  
  551. 2.02 Western Digital / SMC
  552.  
  553.     The ethernet part of Western Digital has been bought by SMC. The
  554.     SMC Elite and SMC Elite Plus are the same as late-model WD8003
  555.     and WD8013 cards. Note that the SMC Elite Ultra is *not* the
  556.     same as the plain SMC Elite / WD8013 card. (see below)
  557.  
  558.     Supported:
  559.  
  560.         WD8003, WD8013, SMC Elite, SMC Elite Plus
  561.             A shared memory design by Western Digital. The
  562.             8 bit 8003 is slightly less expensive, but only
  563.             worth the savings for light use. Over the
  564.             years the design has added more registers and an
  565.             EEPROM. Clones usually go by the '8013' name, and
  566.             usually use a non-EEPROM (jumpered) design. This part
  567.             of WD has been sold to SMC, so you'll usually see
  568.             something like SMC/WD8013 or SMC Elite Plus (WD8013).
  569.             The shared memory makes the cards 10-20% faster,
  570.             especially with larger packets. More importantly
  571.             (to me at least) it avoids a few bugs in the
  572.             programmed-I/O mode of the 8390, allows safe
  573.             multi-threaded access to the packet buffer, and
  574.             doesn't have a programmed-I/O data register that
  575.             hangs your machine during warm-boot probes.
  576.  
  577.         SMC Elite 16 ULTRA
  578.             This ethercard is based on a new chip from SMC, with
  579.             a few new features. While it has a mode that is
  580.             similar to the older SMC ethercards, it's not
  581.             compatible with the old WD80*3 drivers. However, in
  582.             this mode it shares most of its code with the other
  583.             8390 drivers, while operating somewhat faster than a
  584.             WD8013 clone.
  585.  
  586.             Some of the device probe checks in pl14 were too
  587.             too strict, causing some cards to not be detected
  588.             every time. This was fixed for pl14a, and hence is
  589.             fine for pl15. Since part of the Ultra "looks" like
  590.             an 8013, the Ultra probe is supposed to find an
  591.             Ultra before the wd8013 probe has a chance to
  592.             mistakenly identify it.
  593.  
  594.             Std. as of pl14, and made possible by documentation
  595.             and ethercard loan from kamstra@ccmail.west.smc.com,
  596.             Duke Kamstra. If you plan on using an Ultra with Linux
  597.             send him a note of thanks to let him know that there
  598.             are Linux users out there!
  599.  
  600.             I'm considering writing a separate driver for the
  601.             Ultra's "Altego" mode which allows chaining transmits
  602.             at the cost of inefficient use of receive buffers,
  603.             but that will probably not happen right away.
  604.             Performance re-writes of working drivers are low
  605.             priority unless there is some particular incentive
  606.             or need.
  607.  
  608. 2.03 NExxxx
  609.  
  610.     The prefix "NE" came from Novell Ethernet. Novell followed the
  611.     cheapest NatSemi databook design and sold the manufacturing rights
  612.     (spun off?) Eagle, just to get reasonably-priced ethercards into
  613.     the market.
  614.  
  615.     Supported:
  616.  
  617.         NE1000, NE2000
  618.             The now-generic name for a bare-bones design around
  619.             the NatSemi 8390. They use programmed I/O rather than
  620.             shared memory, leading to easier installation but
  621.             slightly lower performance and a few problems. Again,
  622.             the savings of using an 8 bit NE1000 over the NE2000
  623.             are only warranted if you expect light use. Some
  624.             recently introduced NE2000 clones use the National
  625.             Semiconductor "AT/LANTic" 83905 chip, which offers
  626.             a shared memory mode similar to the 8013 and EEPROM
  627.             or software configuration. Some problems can arise
  628.             with poor clones. See the question and answer section
  629.             later in this document, and the section on clones.
  630.             I have written a NE2000 diagnostic program, but it
  631.             is still presently in alpha test. (ne2k)
  632.  
  633.         NE1500, NE2100
  634.             The AT1500 driver, recently added to the list of
  635.             supported cards, also supports the NE1500, NE2100 and
  636.             clones. The driver shipped with pl12 kernel doesn't
  637.             detect non-AT1500 cards with autoprobe, but will work
  638.             fine if you specify the base address explicitly and
  639.             jumper for DMA channel 5. Read the Allied Telesis
  640.             section for more information on LANCE based cards.
  641.  
  642. 2.04 Hewlett Packard
  643.  
  644.     The 272** cards use programmed I/O, similar to the NE*000 boards,
  645.     but the data transfer port can be "turned off" when you aren't
  646.     accessing it, avoiding problems with autoprobing drivers.
  647.  
  648.     Thanks to Glenn Talbott for cleaning up the confusion in this
  649.     section regarding the version numbers of the HP hardware, and
  650.     adding lots of new info.
  651.  
  652.     Supported:
  653.  
  654.         27245A
  655.             8 Bit 8390 based 10BaseT, not recommended for all the
  656.             8 bit reasons. It was re-designed a couple years
  657.             ago to be highly integrated which caused some
  658.             changes in initialization timing which only
  659.             affected testing programs, not LAN drivers. (The
  660.             new card is not 'ready' as soon after switching
  661.             into and out of loopback mode.)
  662.  
  663.         27247B, 27252A
  664.             The 47B is a 16 Bit 8390 based 10BaseT w/AUI, and
  665.             the 52A is a 16 Bit 8390 based ThinLAN w/AUI.
  666.             These cards are high performers (3c509 speed) without
  667.             the interrupt latency problems (32K onboard RAM for TX
  668.             or RX packet buffering). They both offer LAN
  669.             connector autosense, data I/O in I/O space (simpler) or
  670.             memory mapped (faster), and soft configuration. 27247B
  671.             was rated Best for ISA Servers by PC Mag this year.
  672.  
  673.         27247A
  674.             This is the older model that existed before the "B".
  675.             Two versions 27247-60001 or 27247-60002 have part
  676.             numbers marked on the card. Functionally the same to
  677.             the LAN driver, except bits in ROM to identify
  678.             boards differ. -60002 has a jumper to allow
  679.             operation in non-standard ISA busses (chipsets
  680.             that expect IOCHRDY early.)
  681.  
  682.         HP J2405A
  683.             These are lower priced, and slightly faster than the
  684.             27247B/27252A, but are missing some features, such
  685.             as AUI, ThinLAN connectivity, and boot PROM socket.
  686.             This is a fairly generic LANCE design, but a minor
  687.             design decision makes it incompatible with a generic
  688.             "NE2100" driver. Special support for it (including
  689.             reading the DMA channel from the board) is in pl14
  690.             and up, thanks to information provided by HP's Glenn
  691.             Talbott, gt@hprnd.rose.hp.com. Note that the pre pl14
  692.             driver should not be used with this card.
  693.  
  694.             More information on LANCE based cards can be found in
  695.             section 5.08.
  696.  
  697. 2.05 D-Link
  698.  
  699.     Supported:
  700.  
  701.         DE-600
  702.             Laptop users and other folk who might want a quick
  703.             way to put their computer onto the ethernet may want
  704.             to use this. The driver was included with the default
  705.             kernel source tree as of pl12 and possibly earlier.
  706.             Bjorn Ekwall <bj0rn@blox.se> wrote the original.
  707.             Expect about 80kb/s transfer speed from this via the
  708.             parallel port. You should read the README.DLINK
  709.             file in the kernel source tree. The latest release
  710.             of this driver is v0.32, and it is included in the
  711.             standard kernel of pl15
  712.  
  713.         DE-650
  714.             Some people have been using this PCMCIA card for
  715.             some time now with their notebooks. Note however,
  716.             that using a PCMCIA card with Linux is not trivial.
  717.             See the section on networking with a notebook for
  718.             more information on PCMCIA cards. This driver is
  719.             *not* part of the standard kernel.
  720.  
  721.         DE-100, DE-200, DE-220-T
  722.             The manual says that it is 100% compatible with the
  723.             NE2000. This is not true. You should call them and
  724.             tell them you are using their card with Linux, and they
  725.             should correct their documentation. Some pre-0.99pl12
  726.             driver versions may have trouble recognizing the DE2**
  727.             series as 16 bit cards, and these cards are the most
  728.             widely reported as having the spurious transfer address
  729.             mismatch errors. Note that there are cards from
  730.             Digital (DEC) that are also named DE100 and DE200,
  731.             but the similarity stops there.
  732.  
  733.     Unsupported:
  734.  
  735.         DE-620
  736.             Same as the DE-600, only with two output formats.
  737.             (BNC and RJ-45, I would assume... ????)
  738.             Bjorn writes: "I have still no information on the
  739.             DE-620 that I can include in this release. (Maybe
  740.             someone well connected to D-Link sees this,
  741.             hint, hint, hint...)
  742.  
  743. 2.06 Cabletron
  744.  
  745.     Yes, another one of these companies that won't release its
  746.     programming information. They waited for months before actually
  747.     confirming that all their information was proprietary, deliberately
  748.     wasting my time. Avoid their cards like the plague if you can.
  749.     Also note that some people have phoned Cabletron, and have been
  750.     told things like "a dbecker@super.org is working on a driver
  751.     for linux" -- making it sound like I work for them. This is
  752.     NOT the case. Anyway, if I were working for them, or even if
  753.     I had signed a ND agreement, I wouldn't be able to tell
  754.     everyone what a sleazy design the E2100 is. (See below.)
  755.  
  756.     If you feel like asking them why they don't want to release their
  757.     info so that people can use their cards, write to support@ctron.com
  758.     Tell them that you are using Linux, and are disappointed that they
  759.     don't support open systems. (See section 9.01)
  760.  
  761.     Supported: (...well, not *really* supported)
  762.  
  763.         E10**, E10**-x, E20**, E20**-x
  764.             These are NEx000 almost-clones that are reported to
  765.             work with the standard NEx000 drivers, thanks to a
  766.             ctron-specific check during the probe. If there are
  767.             any problems, they are unlikely to be fixed, as the
  768.             programming information is unavailable.
  769.  
  770.  
  771.         E21**
  772.             Again, there is not much one can do when the
  773.             programming information is proprietary.
  774.             The E2100 is a poor design. Whenever it maps its
  775.             shared memory in during a packet transfer, it
  776.             maps it into the *whole 128K region*! That means you
  777.             *can't* safely use another interrupt-driven shared
  778.             memory device in that region, including another E2100.
  779.             It will work _most_ of the time, but every once in
  780.             a while it will bite you. (Yes, this problem can
  781.             be avoided by turning off interrupts while
  782.             transferring packets, but that will almost certainly
  783.             lose clock ticks.
  784.  
  785.             Also, don't confuse the E2100 for a NE2100 clone.
  786.             The E2100 is a shared memory NatSemi DP8390 design,
  787.             roughly similar to a brain-damaged WD8013, whereas
  788.             the NE2100 (and NE1500) use a bus-mastering AMD
  789.             LANCE design.
  790.  
  791.             There is an alpha test driver available (even though
  792.             I shouldn't have bothered) in the normal place
  793.             (see the FAQ section) -- e2100.c -- let me know if
  794.             you use it, and how it works. Don't forget to
  795.             un-comment the line in config.in.
  796.  
  797. 2.07    Allied Telesis
  798.  
  799.     Allied Telesis is the worlds largest maker of separate
  800.     transceivers thanks to their low prices, and they now have a
  801.     series of low-cost ethercards using the 79C960 version of the AMD
  802.     LANCE. These are bus-master cards, and thus probably the fastest
  803.     ISA bus ethercards available (although the 3c509 has lower latency
  804.     thanks to predictive interrupts).
  805.  
  806.     Supported:
  807.  
  808.         AT1500
  809.             The driver for the AT1500 series is new in the
  810.             0.99pl12 kernel, but it won't work "out-of-the-box"
  811.             with >16M machines. (NB This isn't a fundamental
  812.             limitation, so stop pointing and laughing at the ISA
  813.             bus. The driver just needs a hook to allocate
  814.             low-memory buffers for the bus-master DMA, and should
  815.             be just as fast on >16M systems. It can be easily
  816.             fixed by initializing the LANCE driver with the
  817.             character devices, but this fix depends on the
  818.             resolution of the networking code uncertainty.)
  819.  
  820.             For the ISA bus master mode all structures used
  821.             directly by the LANCE, the initialization block,
  822.             Rx and Tx rings, and data buffers, must be accessible
  823.             from the ISA bus, i.e. in the lower 16M of real memory.
  824.             This is a problem for current Linux kernels on >16M
  825.             machines. The network devices are initialized after
  826.             memory initialization, and the kernel doles out memory
  827.             from the top of memory downward. The current solution
  828.             is to have a special network initialization routine
  829.             that's called before memory initialization; this will
  830.             eventually be generalized for all network devices.
  831.             Low-memory "bounce-buffers" are used when needed.
  832.  
  833.             This driver should also work with NE1500 and NE2100
  834.             clones.
  835.             
  836.             Future driver versions may figure out a way to
  837.             autoDMA. Although there is no autoDMA (until I verify
  838.             that autoDMA is safe and reliable), some versions
  839.             (pl13) allow passing the DMA channel at boot-time via
  840.             LILO. (Boot-time parameters can be made permanent in
  841.             LILO v13+, read the docs.) The DMA channel otherwise
  842.             defaults to DMA5.
  843.  
  844.             In pl14, there was a buglet that would hang some
  845.             machines with AT1500 like cards. Either get pl15
  846.             or newer, or go into ./init/main.c and move the
  847.             sti(); and claibrate_delay(); (near line 366) in
  848.             *front of* the #ifdef CONFIG_INET, instead of
  849.             after it.
  850.             
  851.             Please report the exact chip used by your ethercard,
  852.             and any success or failure you have. This driver is
  853.             still young, and I've gotten few reports.
  854.  
  855.             More information on AMD LANCE based Ethernet cards
  856.             can be found in section 5.08.
  857.  
  858.         AT1700
  859.             The Allied Telesis AT1700 series ethercards are based
  860.             on the Fujitsu MB86965. This chip uses a programmed
  861.             I/O interface, and a pair of fixed-size transmit
  862.             buffers. This allows small groups of packets to sent
  863.             be sent back-to-back, with a short pause while
  864.             switching buffers.
  865.             
  866.             A unique feature is the ability to drive 150ohm STP
  867.             (Shielded Twisted Pair) cable commonly installed for
  868.             Token Ring, in addition to 10baseT 100ohm UTP
  869.             (unshielded twisted pair).
  870.             
  871.             A mis-feature to watch out for is that the current
  872.             production version silently wires to DMA channel 5,
  873.             rendering it useless. No device driver will be
  874.             written using DMA if installing a second card into
  875.             the machine breaks both, and the only way to disable
  876.             the DMA is with a knife.
  877.             
  878.             The at1700 driver is included in the standard pl15
  879.             kernel source tree.
  880.             
  881. 2.08 Arcnet
  882.  
  883.     There is no Arcnet driver for Linux. Feel free to write a driver. With
  884.     the very low cost and better performance of ethernet, I expect that
  885.     most places will be giving away their Arcnet hardware for free,
  886.     resulting in a lot of home systems with Arcnet.
  887.  
  888.     An advantage of Arcnet is that all of the cards have identical
  889.     interfaces, so once a driver is available it will work for everyone.
  890.  
  891. 2.09 Digital / DEC
  892.  
  893.     Supported: DE200, DE210, DE202, DE100, DEPCA rev E
  894.  
  895.         As of linux v1.0, there is a driver included as standard
  896.         for these cards. It was written by David C. Davies.
  897.         There is documentation included in the source file
  898.         "depca.c", which includes info on how to use more than
  899.         one of these cards in a machine.
  900.  
  901.         If you have / want to use the pl15 kernel or older,
  902.         then you will have to use Peter Bauer's driver.
  903.         It can be found as a separate patch called depca-0.8.tar.gz.
  904.         You will have to un-comment the DEPCA line in "config.in"
  905.         after installing the patch. You can find the patch on
  906.         ftp.funet.fi, /pub/OS/Linux/BETA/depca/depca-0.8.tar.gz
  907.         This version resets the card upon close so that you can
  908.         use it with broken DOS drivers after a warm boot.
  909.  
  910.  
  911.     Unsupported: Digital Etherlink III
  912.  
  913.         Peter Bauer said that "the new etherlink III seems to
  914.         be a break: No official docu from DEC as far as today,
  915.         other (incompatible??) hardware used, and (no joke) (at least
  916.         for the first delivered cards) also a sharp knife necessary
  917.         to get the card working (needs cut of some irq lines ...)
  918.         As far as I know, lots of DEC Employees use Linux (at least
  919.         for hobby purposes) and the depca-driver, because its a
  920.         de-facto standard in DEC, so I encourage any DEC-employee
  921.         reading this to check wether my writing is true, and to
  922.         support sources of information about the etherworks-III."
  923.  
  924. 2.10 Intel Ethernet Cards
  925.  
  926.     Supported: Ether Express
  927.  
  928.         This card uses the intel i82586. (Surprise, huh?)
  929.         The driver is in the standard release of pl15.
  930.         However, you will have to uncomment the line in
  931.         "config.in" to use it. -- yes, this line is
  932.         commented out for a reason. The driver is still
  933.         in the testing phases, as of v1.0 as well.
  934.  
  935.         There is some technical information available on
  936.         the i82586 in section 5.06, and also in the
  937.         source code for the driver "eexpress.c". Don't
  938.         be afraid to read it. ;-)
  939.  
  940.         The rason is that the driver works well with slow machines,
  941.         but the i82586 occasionally hangs from the packet buffer
  942.         contention that a fast machine can cause. I'll have
  943.         to find a work-around before releasing the driver.
  944.         One reported hack fix is to change all of the outw()
  945.         calls to outw_p().
  946.  
  947.  
  948.         If you do try the driver please post or send a report. 
  949.         Include the kind of machine you are trying it with,
  950.         and how heavily loaded your network is.
  951.  
  952.  
  953. 2.11 PureData
  954.  
  955.     Supported: PDUC8028, PDI8023
  956.  
  957.         The PureData PDUC8028 and PDI8023 series of cards are reported
  958.         to work, thanks to special probe code contributed by Mike
  959.         Jagdis <jaggy@purplet.demon.co.uk>. The support is integrated
  960.         with the WD driver.
  961.  
  962. 2.12 Xircom
  963.  
  964.     Another group that won't release documentation. No cards
  965.     supported. Don't look for any support in the future unless
  966.     they release their programming information. And this is
  967.     highly unlikely, as they *forbid* you from even reverse-
  968.     engineering their drivers. If you are already stuck with one,
  969.     see if you can trade it off on some DOS (l)user. Read section
  970.     9.01 if you are bored.
  971.  
  972.     And if you just want to verify that this is the case, you can
  973.     reach Xircom at 1-800-874-7875 or +1-818-878-7600.
  974.  
  975. 2.13 Zenith
  976.  
  977.     The built-in Z-Note network adaptor is based on the Intel
  978.     i82593 using two DMA channels. There might be a driver for it
  979.     in mid 1994. See section 5.06 for more information.
  980.     Also note that the Z-Note is compatible with the IBM ThinkPad 300.
  981.  
  982. 2.14 Racal-Interlan
  983.  
  984.     Note: I have been told that the following two drivers are 
  985.     for patchlevel 11, and hence are a bit dated. The original
  986.     author is Michael Hipp, and can be reached at the following addr:
  987.         zxmhp01@student.uni-tuebingen.de
  988.  
  989.     NI52**
  990.  
  991.     There is an alpha driver for the NI5210 floating about.
  992.     (last seen on tsx-11.mit.edu /pub/linux/ALPHA/ni/ni52.tar.gz)
  993.     This card also uses one of the Intel chips. See section
  994.     5.06 for more information.
  995.  
  996.     NI65**
  997.  
  998.     There is also a driver for the LANCE based NI6510, and it
  999.     can be found in the same place as the NI5210 driver above.
  1000.     I am not sure how much work it would be to hack the current
  1001.     LANCE driver in the kernel to support this card. If anyone
  1002.     has done so, let me know.
  1003.  
  1004. 2.15 AMD LANCE (79C960)
  1005.  
  1006.     There really is no AMD ethernet card. You are probably reading this
  1007.     because the only markings you could find on your card said AMD
  1008.     and the above number. The above number refers to a chip from AMD
  1009.     that is the heart of many ethernet cards. See the section on the
  1010.     Allied Telesis AT1500, the NE1500/2100 and the information in
  1011.     section 5.08. Chances are that the existing LANCE driver will work
  1012.     with all AMD LANCE based cards. (...except perhaps the above
  1013.     mentioned NI6510 ???)
  1014.     
  1015. 2.16 AT-Lan-Tec / RealTek Pocket adaptor
  1016.  
  1017.     This is a generic, low-cost OEM pocket adaptor being sold by
  1018.     AT-Lan-Tec, and (likely) a number of other suppliers. A
  1019.     driver for it is included in the standard pl15 kernel.
  1020.     Note that there is substantial information contained in the
  1021.     driver source file "atp.c" which presently lives in ./drivers/net/
  1022.     BTW, the adaptor (AEP-100L) has both 10baseT and BNC connections!
  1023.     You can reach AT-Lan-Tec at 1-301-948-7070. Ask for the model
  1024.     that works with Linux, or ask for "Vincent Bono" in tech support.
  1025.     In the Netherlands a compatible adaptor is sold under the name SHI-TEC
  1026.     PE-NET/CT, and sells for about $125. The vendor was Megasellers.
  1027.     They state that they do not sell to private persons, but I just
  1028.     gave them the name of my home institute. No questions asked.
  1029.     They are: Megasellers, Vianen, The Netherlands. They always
  1030.     advertise in Dutch computer magazines. In Germany, a similar
  1031.     adaptor comes as a no-brand-name product. Prolan 890b, no
  1032.     brand on the casing, only a roman II. Resellers can get a price
  1033.     of about $130, including a small wall transformer for the power.
  1034.  
  1035.     Physical Description
  1036.  
  1037.     The adaptor is "normal size" for the product class, about 57mm wide,
  1038.     22mm high tapering to 15mm high at the DB25 connector, and 105mm long
  1039.     (120mm including the BNC socket). It's switchable between the RJ45
  1040.     and BNC jacks with a small slide switch positioned between the two:
  1041.     a very intuitive design.
  1042.  
  1043.     It's powered by a lightweight 5V "wall brick" adaptor that terminates
  1044.     in a standard 5.0mm power connector. I measured an unconnected
  1045.     quiescent power draw of 102ma for BNC and 84ma for 10baseT. I hooked
  1046.     the pocket adaptor up to my home thinnet and started FTPing a large
  1047.     file. The power measurements were:
  1048.  
  1049.         idle, connected        99ma @ 5.1V
  1050.         active, connected    107ma @ 5.1V
  1051.  
  1052.     This was measured using a Fluke 8026B true-RMS multimeter, so I'm
  1053.     pretty confident the numbers are good. This power draw is low enough
  1054.     that you could buy or build a cable to take the 5V directly from the     
  1055.     keyboard/mouse port available on many laptops. (Bonus points here
  1056.     for using a standardized power connector instead of proprietary one.)
  1057.  
  1058. 2.17 Ansel
  1059.  
  1060.     Supported: AC3200 EISA
  1061.     
  1062.         This driver is not included in the pl15 kernel. To
  1063.         *alpha* test it, get the files ac3200.[c,h] from
  1064.         where you usually get alpha drivers (see the FAQ in
  1065.         this document if you dont know) and uncomment the
  1066.         line in config.in for the ac3200. If you use it,
  1067.         please let me know how things work out.
  1068.  
  1069. 2.18 DFI
  1070.  
  1071.     Supported: DFINET-300 (NE1000) and DFINET-400 (NE2000)
  1072.  
  1073.         These cards are now detected (as of pl15) thanks to
  1074.         Eberhard Moenkeberg <emoenke@gwdg.de> who noted that
  1075.         they use "DFI" in the first 3 bytes of the prom, instead
  1076.         of using 0x57 in bytes 14 and 15, which is what all the
  1077.         NE1000 and NE2000 cards use.
  1078.  
  1079. 3. Clones of popular Ethernet cards.
  1080.  
  1081.     Due to the popular design of some cards, different companies will
  1082.     make "clones" or replicas of the original card. However, one must
  1083.     be careful, as some of these clones are not 100% compatible, and
  1084.     can be troublesome. Some common problems with "not-quite-clones"
  1085.     are noted in the question and answer section of this document.
  1086.  
  1087.     Also note that if your card isn't mentioned here, that really
  1088.     means nothing. Chances are that even if it is only a half decent
  1089.     clone of the original, then it will still work.
  1090.  
  1091. 3.1 WD80x3 clones
  1092.  
  1093.     The following clones are reported to work with the standard
  1094.     WD80x3 driver:
  1095.  
  1096.     AT-LAN-TEC 8013
  1097.     PureData (not a 8013 clone, but the 8013 driver has special code)
  1098.     LANNET LEC-45
  1099.     PE-8013 (WD-8013 Compatible)
  1100.  
  1101. 3.2 NE2000 clones
  1102.  
  1103.     The following clones are reported to work with the standard
  1104.     NE2000 driver:
  1105.  
  1106.     Accton NE2000 (might not get detected at boot, see section 6)
  1107.     Alta Combo NE2000 clone
  1108.     Aritsoft LANtastic AE-2 (OK, but has flawed error-reporting registers)
  1109.     Asante Etherpak 2001/2003
  1110.     AT-LAN-TEC NE2000 clone (uses Winbond chip that traps SCSI drivers)
  1111.     Cabletron products: E10**, E10**-x, E20**, E20**-x
  1112.     Cnet UTP 10baseT (NE 2000 emulation)
  1113.     D-Link Ethernet II (bad clones, but the driver checks for them)
  1114.     4-Dimension FD0490 EtherBoard16
  1115.     LTC E-NET/16 P/N: 8300-200-002 (lipka@lip.hanse.de)
  1116.     Network Solutions HE-203
  1117.     SIIG Inc E-Lan/200 (NE 2000 comp.)
  1118.     SVEC 4 Dimension Ethernet
  1119.  
  1120. 4. Cables, coax, twisted pairs etc.
  1121.  
  1122.     If you are starting a network from scratch, it's considerably less
  1123.     expensive to use thin ethernet, RG58 co-ax cable with BNC connectors,
  1124.     than old-fashioned thick ethernet, RG-5 cable with N connectors, or
  1125.     10baseT, twisted pair telco-style cables with RJ-45 eight wire "phone"
  1126.     connectors.
  1127.  
  1128. 4.01 Thin Ethernet (thinnet)
  1129.  
  1130.     Thin ethernet is the "ether of choice". The cable is inexpensive. If
  1131.     you are making your own cables solid-core RG58A is $0.09/ft. and
  1132.     stranded RG58AU is $0.15/ft. Twist-on BNC connectors are < $2 ea.,
  1133.     and other misc. pieces are similarly inexpensive. It is essential
  1134.     that you properly terminate each end of the cable with 50 ohm
  1135.     terminators, so budget $2 ea. for a pair. It's also vital that
  1136.     your cable have no "stubs" -- the 'T' connectors must be attached
  1137.     directly to the ethercards. The only drawback is that if you have
  1138.     a big loop of machines connected together, and some bonehead breaks
  1139.     the loop by taking one cable off the side of his tee, the whole
  1140.     network goes down because it sees an infinite impedance (open
  1141.     circuit) instead of the required 50 ohm termination. Note that
  1142.     you can remove the tee piece from the card itself without killing
  1143.     the whole subnet, as long as you don't remove the cables from the
  1144.     tee itself. Of course this will disturb the machine that you
  1145.     pull the actual tee off of. 8-) And if you are doing a small
  1146.     network of two machines, you *still* need the tees and the 50 ohm
  1147.     terminators -- you *can't* just cable them together!
  1148.     
  1149.  
  1150. 4.02 Twisted pair
  1151.  
  1152.     Twisted pair networks require active hubs, which start around $200,
  1153.     and the raw cable cost can actually be higher than thinnet. They are
  1154.     usually sold using the claim that you can use your existing telephone
  1155.     wiring, but it's a rare installation where that turns out to be the
  1156.     case. The claim that you can upgrade to higher speeds is also
  1157.     suspect, as most proposed schemes use higher-grade (read $$) cable and
  1158.     more sophisticated termination ($$$) than you would likely install on
  1159.     speculation. New gizmos are floating around which allow you to
  1160.     daisy-chain machines together, and the like. For example,
  1161.     Falleron sells EtherWave adaptors and transceivers. This device
  1162.     allows multiple 10baseT devices to be daisy-chained. They also
  1163.     sell a 3c509 clone that includes the EtherWave transceiver.
  1164.     The drawback is that it's more expensive and less reliable than a 
  1165.     cheap ($100-$150) mini-hub and another ethercard. IMO, you should
  1166.     either go for the hub approach or switch over to 10base2 thinnet.
  1167.  
  1168.     On the other hand, hubs are rapidly dropping in price, all 100Mb/sec
  1169.     ethernet proposals use twisted pair, and most new business
  1170.     installations use twisted pair. (This is probably to avoid the
  1171.     problem with idiots messing with the BNC's as described above.)
  1172.  
  1173.     If you are only connecting two machines, it is possible to avoid
  1174.     using a hub, by swapping the Rx and Tx pairs (1-2 and 3-6).
  1175.  
  1176.     Also, Russ Nelson adds that "New installations should use Category 5
  1177.     wiring. Anything else is a waste of your installer's time, as
  1178.     100Base-whatever is going to require Cat 5."
  1179.  
  1180. 4.03 Thick Ethernet
  1181.  
  1182.     Thick ethernet is mostly obsolete, and is usually used only to remain
  1183.     compatible with an existing implementation. You can stretch the rules
  1184.     and connect short spans of thick and thin ethernet together with a
  1185.     passive $3 N-to-BNC connector, and that's often the best solution to
  1186.     expanding an existing thicknet. A correct (but expensive) solution is
  1187.     to use a repeater in this case.
  1188.  
  1189.  
  1190.     -- end of part 1 of 2 --
  1191.